1. Field of the Invention
The present invention relates generally to printing methods and apparatus, and more particularly to isochronous printing methods and apparatus that provide an isochronous communications channel between a host and a printer with guaranteed and predictable data throughput, and minimal buffering.
2. Description of Related Art
As printing technology advances, manufacturers are constantly seeking ways to maintain or reduce the costs of printers incorporating "hi-tech" modifications. For example, due to technological advances, printing speeds for grayscale and color printing certainly have increased over the past decades. Nevertheless, printer prices seem to remain stable and often decline. In some cases, increased printing speeds are realized by faster data transfer between network components, which may or may not affect printer cost.
In a printing environment, one or more printers typically communicate with one or more hosts either through a network connection or a dedicated communications channel. A host is a computer or "smart" printer that generates data formatted for the printer and sends the data over a selected communications channel. The type of communications channel may vary depending on the printing environment. For example, if several host computers communicate with one or more printers, such as in a local area network or wide area network, then the communication channel may be an asynchronous transfer mode (ATM) link. If a host computer is connected to several peripherals, such as a printer, over a fairly small area, then the communication channel may be a dedicated bus, such as Universal Serial Bus (USB).
When a user chooses to print a document, the host transfers the document as print data over one or more communications channels to the printer. The print data is transferable from the host at a specified data rate over one or more frames. A frame is a fixed unit of time in which the host transfers a predetermined amount of data. The host, however, may not allocate the entire frame for sending print data.
The printer may be a fixed inter-scan printer or a variable inter-scan printer. Both of these printers include a printing element that scans or passes, respectively, over a printer medium, such as paper. During the scan or pass, the printing element transfers the document, in the form of image data, onto the paper.
In a fixed inter-scan printer, the time between the end of one scan and the beginning of the next scan is constant and often determined by the print mechanism. For example, in a laser printer, the page is fed through continuously without pausing between scans. The printing element for a fixed inter-scan printer typically is a laser beam or LED array which does not actually move across the paper. The scan parameters usually include a scan period, laser speed, on-page time, off-page time and LED array fill time.
The scan period is the time from beginning one scan to the beginning of the next scan. The laser speed is the speed of the laser moving across the medium. The on-page time is the time the laser spends on the print medium and the off-page time is the time the laser is off the print medium. The LED array fill time is the time necessary to fill the LED array in preparation for pulsing (i.e., printing).
In a variable inter-scan printer, however, the time between the end of one pass and the beginning of the next pass is variable. For these printers, such as inkjet printers, the inter-scan time can be made longer or shorter to wait for print data. The printing element for these printers typically is an inkjet print head that passes over the paper. Print pass parameters for variable inter-scan printers typically include print speed, acceleration time, and deceleration time.
The Print speed is the speed of the inkjet print head during the print pass. The acceleration time is the time for the print head to reach printing speed. The deceleration time is measured from the printing speed to the time for the print head to completely stop.
Both fixed and variable inter-scan printers include a memory or "buffer" that temporarily stores data until the print mechanism is ready to begin printing. Typical fixed and variable scan printers include full-pass buffers that are large enough to hold an entire pass of data. For large documents, or when multiple users are sharing a single printer, the volume of print data received at the printer can be enormous, thus requiring a large buffer (e.g., 1-2 MBs). Due to the high price of memory units, increasing the size of the printer buffer to accommodate large amounts of print data can be very expensive.
In addition, printing systems typically use a specified communications protocol, which defines the way print data is transferred. For example, asynchronous communications protocol may be used to transfer print data over an ATM communications channel. In this example, the host and printer are configured to send and receive data using the asynchronous protocol. Some current systems rely on asynchronous protocol for implementing printing operations over a network.
U.S. Pat. No. 5,123,089 to Beilinski et al. discloses a printing configuration similar to that described above. FIG. 1 of Beilinski et al. illustrates a series of computer stations connected to printers through an apparent asynchronous communication link. A network node controller is positioned between each computer station and printer connection. The network node controller includes a buffer memory for storing print jobs ultimately executed by the connected printer. Although the network node controller allows the computer stations and printers to communicate, it adds to the cost and maintenance of the printing system. In addition, the network node controller buffer must be sufficiently large to support the transfer of print data between the computer stations and printers.
U.S. Pat. No. 4,371,950 to Chadra is directed to a peripheral controller for controlling data transfers between a main host computer and a printer mechanism. The peripheral controller includes a peripheral control interface circuit to control and monitor the printing of data and the paper format of the printer mechanism. The printing system of Chadra is similar to that of Beilinski in that a controller is positioned between the host computer and printer for controlling printing operations. In addition, Chadra teaches buffering a complete printing event before executing printing operations. As discussed above, this requires a buffer that is large enough to store an entire event before printing, which can be costly.
In an effort to increase dialogue between a host and printer, certain printing systems employ parallel communication channels. These parallel communication channels allow for bi-directional communication between the host computer and printer. Examples of printing systems using bi-directional communication are found in U.S. Pat. No. 5,075,875 to Love et al. and U.S. Pat. No. 5,507,003 to Pipkins.
Love et al. disclose a printer control system employing bi-directional communication between a host, printer and microprocessor. A parallel interface facilitates bi-directional communication by allowing the host and printer to carry on a dialogue. Pipkins discloses a protocol that provides bi-directional communication between the host and printer over a parallel interface. This reference mainly focuses on reverse channel operation between the host and printer to allow the transfer of data therebetween.
Although Love et al. and Pipkins describe processes for implementing bi-directional communication, neither of the references offer an effective method for increasing printing efficiency using this technology.
The Lexmark Optra E printer, developed by Lexmark International, Inc., includes Quick Print+.TM. technology for enhancing printing efficiency. In operation, the printer receives rasterized page data from a host over an asynchronous communications channel in bitmap form. Subsequently, the printer places initial bitmap data as dots on a page immediately freeing the printer controller memory and making way for a continuous flow of rasterized data until the image is completely printed. By operating in a "trust-me" mode, Quick Print+.TM. ensures that page data received from the host is not entirely resident in the printer's memory at any one time during the printing operation. Although Quick Print+.TM. does not require storing a complete page of data in the printer buffer during a printing operation, the bandwidth available to the incoming asynchronous communications channel is not guaranteed, resulting in possible transmission errors. Because the bandwidth is not guaranteed, the buffer must be sized to store a predetermined percentage of data before printing operations are initiated. Moreover, the Lexmark Optra E printer is a laser printer (i.e., a fixed inter-scan printer) and thus, the Quick Print+.TM. technology is limited to page scans.
Therefore, it is desirable to provide an improved printing system that offers guaranteed and predictable data throughput with minimal buffering.
It is also desirable to provide an improved printing system that allows a printer to communicate with a host computer for timely data transfer and effective printing operations.
It is yet further desirable to provide an improved printing system that is configurable to operate with both fixed inter-scan printers and variable inter-scan printers.
Additional desires, features and advantages of the invention will be set forth in the following description, and will be apparent from description or may be learned by practicing the invention.